#pragma once
#include "Precompile.h"
#include "IState.h"

class StateManager{
public:
	StateManager();

	void addState(IStatePtr state);
	void removeState(IStatePtr state);
	void update();

private:
	std::set<IStatePtr> m_stateStack;
};

typedef boost::shared_ptr<StateManager> StateManagerPtr;